// Generated from java-escape by ANTLR 4.11.1
package com.lan.antlr;
import org.antlr.v4.runtime.tree.ParseTreeListener;

/**
 * This interface defines a complete listener for a parse tree produced by
 * {@link ScriptParser}.
 */
public interface ScriptListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by {@link ScriptParser#name}.
	 * @param ctx the parse tree
	 */
	void enterName(ScriptParser.NameContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#name}.
	 * @param ctx the parse tree
	 */
	void exitName(ScriptParser.NameContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#literal}.
	 * @param ctx the parse tree
	 */
	void enterLiteral(ScriptParser.LiteralContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#literal}.
	 * @param ctx the parse tree
	 */
	void exitLiteral(ScriptParser.LiteralContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#variableDeclarator}.
	 * @param ctx the parse tree
	 */
	void enterVariableDeclarator(ScriptParser.VariableDeclaratorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#variableDeclarator}.
	 * @param ctx the parse tree
	 */
	void exitVariableDeclarator(ScriptParser.VariableDeclaratorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#variableDeclaratorId}.
	 * @param ctx the parse tree
	 */
	void enterVariableDeclaratorId(ScriptParser.VariableDeclaratorIdContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#variableDeclaratorId}.
	 * @param ctx the parse tree
	 */
	void exitVariableDeclaratorId(ScriptParser.VariableDeclaratorIdContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#parameters}.
	 * @param ctx the parse tree
	 */
	void enterParameters(ScriptParser.ParametersContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#parameters}.
	 * @param ctx the parse tree
	 */
	void exitParameters(ScriptParser.ParametersContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#parameter}.
	 * @param ctx the parse tree
	 */
	void enterParameter(ScriptParser.ParameterContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#parameter}.
	 * @param ctx the parse tree
	 */
	void exitParameter(ScriptParser.ParameterContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#function}.
	 * @param ctx the parse tree
	 */
	void enterFunction(ScriptParser.FunctionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#function}.
	 * @param ctx the parse tree
	 */
	void exitFunction(ScriptParser.FunctionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#value}.
	 * @param ctx the parse tree
	 */
	void enterValue(ScriptParser.ValueContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#value}.
	 * @param ctx the parse tree
	 */
	void exitValue(ScriptParser.ValueContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#str}.
	 * @param ctx the parse tree
	 */
	void enterStr(ScriptParser.StrContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#str}.
	 * @param ctx the parse tree
	 */
	void exitStr(ScriptParser.StrContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#pair}.
	 * @param ctx the parse tree
	 */
	void enterPair(ScriptParser.PairContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#pair}.
	 * @param ctx the parse tree
	 */
	void exitPair(ScriptParser.PairContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#obj}.
	 * @param ctx the parse tree
	 */
	void enterObj(ScriptParser.ObjContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#obj}.
	 * @param ctx the parse tree
	 */
	void exitObj(ScriptParser.ObjContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#arr}.
	 * @param ctx the parse tree
	 */
	void enterArr(ScriptParser.ArrContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#arr}.
	 * @param ctx the parse tree
	 */
	void exitArr(ScriptParser.ArrContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#json}.
	 * @param ctx the parse tree
	 */
	void enterJson(ScriptParser.JsonContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#json}.
	 * @param ctx the parse tree
	 */
	void exitJson(ScriptParser.JsonContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#variableInitializer}.
	 * @param ctx the parse tree
	 */
	void enterVariableInitializer(ScriptParser.VariableInitializerContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#variableInitializer}.
	 * @param ctx the parse tree
	 */
	void exitVariableInitializer(ScriptParser.VariableInitializerContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterStatement(ScriptParser.StatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitStatement(ScriptParser.StatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#importStatement}.
	 * @param ctx the parse tree
	 */
	void enterImportStatement(ScriptParser.ImportStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#importStatement}.
	 * @param ctx the parse tree
	 */
	void exitImportStatement(ScriptParser.ImportStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#exportStatement}.
	 * @param ctx the parse tree
	 */
	void enterExportStatement(ScriptParser.ExportStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#exportStatement}.
	 * @param ctx the parse tree
	 */
	void exitExportStatement(ScriptParser.ExportStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#forControl}.
	 * @param ctx the parse tree
	 */
	void enterForControl(ScriptParser.ForControlContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#forControl}.
	 * @param ctx the parse tree
	 */
	void exitForControl(ScriptParser.ForControlContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#forInit}.
	 * @param ctx the parse tree
	 */
	void enterForInit(ScriptParser.ForInitContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#forInit}.
	 * @param ctx the parse tree
	 */
	void exitForInit(ScriptParser.ForInitContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#parExpression}.
	 * @param ctx the parse tree
	 */
	void enterParExpression(ScriptParser.ParExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#parExpression}.
	 * @param ctx the parse tree
	 */
	void exitParExpression(ScriptParser.ParExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#expressionList}.
	 * @param ctx the parse tree
	 */
	void enterExpressionList(ScriptParser.ExpressionListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#expressionList}.
	 * @param ctx the parse tree
	 */
	void exitExpressionList(ScriptParser.ExpressionListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#functionCall}.
	 * @param ctx the parse tree
	 */
	void enterFunctionCall(ScriptParser.FunctionCallContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#functionCall}.
	 * @param ctx the parse tree
	 */
	void exitFunctionCall(ScriptParser.FunctionCallContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterExpression(ScriptParser.ExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitExpression(ScriptParser.ExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#primary}.
	 * @param ctx the parse tree
	 */
	void enterPrimary(ScriptParser.PrimaryContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#primary}.
	 * @param ctx the parse tree
	 */
	void exitPrimary(ScriptParser.PrimaryContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#blockStatement}.
	 * @param ctx the parse tree
	 */
	void enterBlockStatement(ScriptParser.BlockStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#blockStatement}.
	 * @param ctx the parse tree
	 */
	void exitBlockStatement(ScriptParser.BlockStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#blockStatements}.
	 * @param ctx the parse tree
	 */
	void enterBlockStatements(ScriptParser.BlockStatementsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#blockStatements}.
	 * @param ctx the parse tree
	 */
	void exitBlockStatements(ScriptParser.BlockStatementsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#block}.
	 * @param ctx the parse tree
	 */
	void enterBlock(ScriptParser.BlockContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#block}.
	 * @param ctx the parse tree
	 */
	void exitBlock(ScriptParser.BlockContext ctx);
	/**
	 * Enter a parse tree produced by {@link ScriptParser#prog}.
	 * @param ctx the parse tree
	 */
	void enterProg(ScriptParser.ProgContext ctx);
	/**
	 * Exit a parse tree produced by {@link ScriptParser#prog}.
	 * @param ctx the parse tree
	 */
	void exitProg(ScriptParser.ProgContext ctx);
}